@charset "UTF-8";
/* Normolize file */
*,
::before,
::after {
  box-sizing: border-box;
}

:where(ul, ol):where([class]) {
  padding-left: 0;
}

body,
:where(blockquote, figure):where([class]) {
  margin: 0;
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl):where([class]) {
  margin-block: 0;
}

:where(dd[class]) {
  margin-left: 0;
}

:where(fieldset[class]) {
  margin-left: 0;
  padding: 0;
  border: none;
}

:where(ul[class]) {
  list-style: none;
}

:where(address[class]) {
  font-style: normal;
}

p {
  --paragraphMarginBottom: 20px;
  margin-block: 0;
}

p:where(:not([class]):not(:last-child)) {
  margin-bottom: var(--paragraphMarginBottom);
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
textarea,
select,
button {
  font: inherit;
}

html {
  height: 100%;
  scrollbar-gutter: stable;
}

html,
:has(:target) {
  scroll-behavior: smooth;
}

body {
  min-height: 100%;
  line-height: 1.5;
}

a:where([class]) {
  display: inline-flex;
}

button,
label {
  cursor: pointer;
}

:where([fill]:not([fill=none], [fill^=url])) {
  fill: currentColor;
}

:where([stroke]:not([stroke=none], [stroke^=url])) {
  stroke: currentColor;
}

svg * {
  transition-property: fill, stroke;
}

:where(table) {
  border-collapse: collapse;
  border-color: currentColor;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Fonts */
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
/*  ===================================  */
/*  ===================================  */
/* Global variables */
:root {
  --color-accent-50: #fefdfd;
  --color-accent-200: #f2e5e1;
  --color-accent-500: #fe4f02;
  --color-accent-600: #dc4401;
  --color-gray-900: #161312;
  --color-gray-850: #2b2b31;
  --color-gray-800: #352f2e;
  --color-gray-750: #484848;
  --color-gray-700: #66605f;
  --color-gray-600: #746e6d;
  --color-gray-550: #808080;
  --color-gray-500: #968e8e;
  --color-gray-450: #a5a5a5;
  --color-gray-400: #ccc5c5;
  --color-gray-350: #c8c8c8;
  --color-gray-300: #e1dcdb;
  --color-gray-200: #ece4e4;
  --color-gray-100: #f3eded;
  --color-gray-90: #dcdcdc;
  --color-gray-75: #f8efef;
  --color-gray-50: #fbf8f8;
  --color-grad-1: linear-gradient(
    180deg,
    #363130 0%,
    #363433 25.96%,
    #352f2e 49.04%,
    #413d3c 66.66%,
    #474342 76.95%,
    #514d4c 86.12%,
    #524d4c 100%
  );
  --color-grad-2: linear-gradient(90deg, #44362e75 35.45%, #beb19f12 78.09%);
  --color-grad-3: linear-gradient(
    180deg,
    #27211e 0%,
    #24272c 25.96%,
    #1a1c1e 49.04%,
    #19191c 66.66%,
    #321d17 80.64%,
    #19171a 89.34%,
    #111215 100%
  );
  --color-white-opacity-10: #ffffff34;
  --color-white-opacity-35: #ffffffa8;
  --color-black-opacity-48: #3332327a;
  --color-black-opacity-80: #00000033;
  --color-red: #ba1414;
  --color-red-opcity-15: #3b060526;
  --color-red-opcity-40: #3b060566;
  --color-green: #139128;
  --color-green-light: #31ba49;
  --color-blue-extra-dark: #243746;
  --color-blue: #2c94ea;
  --color-blue-light: #2cabea;
  --color-gold: #f8981c;
  --color-orange: #f97b06;
  --color-light: #ffffff;
  --color-dark: #000000;
  --color-black-light: #363535;
  --text-color-light: var(--color-gray-50);
  --text-color-dark: var(--color-gray-900);
  --text-color-dark-secondary: var(--color-gray-700);
  --text-color-medium: var(--color-gray-500);
  --color-accent-extra-light: var(--color-accent-50);
  --color-accent: var(--color-accent-500);
  --color-error: var(--color-red);
  --color-success: var(--color-green);
  --color-rating-star: var(--color-gray-350);
  --color-rating-star-active: var(--color-gold);
  --color-border-medium: var(--color-gray-700);
  --color-border: var(--color-gray-500);
  --color-border-light: var(--color-gray-300);
  --color-border-extra-light: var(--color-gray-90);
  --color-border-active: var(--color-accent);
  --border: 0.0625rem solid var(--color-border);
  --border-light: 0.0625rem solid var(--color-border-light);
  --border-extra-light: 0.05rem solid var(--color-border-extra-light);
  --border-radius-extra-small: 0.25rem;
  --border-radius-small: 0.4375rem;
  --border-radius: 0.625rem;
  --font-family: "Open Sans", sans-serif;
  --letter-spacing: 0.01em;
  --letter-spacing-medium: 0.02em;
  --letter-spacing-big: 0.04em;
  --container-width: 78.75rem;
  --container-width-big: 120rem;
  --container-padding-x: 1.25rem;
  --section-margin-y: clamp(2.5rem, 1.3372093023rem + 4.6511627907vw, 5rem);
  --section-margin-y-static: 5rem;
  --section-margin-y-medium-static: 3.75rem;
  --section-margin-y-to-medium: clamp(3.75rem, 3.1686046512rem + 2.3255813953vw, 5rem);
  --section-margin-y-extra-big: clamp(5rem, 3.5465116279rem + 5.8139534884vw, 8.125rem);
  --section-margin-y-big: clamp(5rem, 3.8372093023rem + 4.6511627907vw, 7.5rem);
  --section-margin-y-extra-big-to-medium: clamp(3.75rem, 1.7151162791rem + 8.1395348837vw, 8.125rem);
  --section-margin-y-big-to-medium: clamp(3.75rem, 2.0058139535rem + 6.976744186vw, 7.5rem);
  --section-margin-y-big-to-small: clamp(2.5rem, 0.1744186047rem + 9.3023255814vw, 7.5rem);
  --section-margin-y-extra-big-to-small: clamp(2.5rem, -0.1162790698rem + 10.4651162791vw, 8.125rem);
  --button-height-small: 2.125rem;
  --button-height: 2.75rem;
  --button-height-big: 2.875rem;
  --auth-portal-button-height: 2.25rem;
  --transition-duration: 0.3s;
}
@media (width <= 100.06125rem) {
  :root {
    --container-padding-x: 9.375vw;
  }
}
@media (width <= 63.99875rem) {
  :root {
    --container-padding-x: 1.25rem;
  }
}
@media (width <= 47.99875rem) {
  :root {
    --container-padding-x: 0.625rem;
  }
}

/*  ===================================  */
/*  ===================================  */
/* Functional selectors ( utils file ) */
.container {
  max-width: calc(var(--container-width) + var(--container-padding-x) * 2);
  margin-inline: auto;
  padding-inline: var(--container-padding-x);
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  clip-path: inset(100%) !important;
  clip: rect(0 0 0 0) !important;
  overflow: hidden !important;
}

@media (width <= 35.93625rem) {
  .hidden-mobile-medium {
    display: none !important;
  }
}

@media (width <= 47.99875rem) {
  .hidden-mobile {
    display: none !important;
  }
}

@media (width <= 63.99875rem) {
  .hidden-tablet {
    display: none !important;
  }
}

@media (width <= 81.31125rem) {
  .hidden-laptop {
    display: none !important;
  }
}

@media (width <= 100.06125rem) {
  .hidden-desktop {
    display: none !important;
  }
}

@media (width > 35.93625rem) {
  .visible-mobile-medium {
    display: none !important;
  }
}

@media (width > 47.99875rem) {
  .visible-mobile {
    display: none !important;
  }
}

@media (width > 63.99875rem) {
  .visible-tablet {
    display: none !important;
  }
}

@media (width > 81.31125rem) {
  .visible-laptop {
    display: none !important;
  }
}

@media (width > 100.06125rem) {
  .visible-desktop {
    display: none !important;
  }
}

.hide-element {
  display: none !important;
}

/*  ===================================  */
/*  ===================================  */
/* GLobal styles from all site */
body {
  font-size: clamp(1rem, 0.9418604651rem + 0.2325581395vw, 1.125rem);
  display: flex;
  flex-direction: column;
  font-family: var(--font-family);
  line-height: 1.27;
  font-weight: 400;
  color: var(--text-color-dark);
  background-color: var(--color-light);
}
body.is-lock {
  overflow: hidden;
}

main {
  flex-grow: 1;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 700;
  text-transform: uppercase;
}

h1,
.h1 {
  font-size: clamp(1.5rem, 0.8023255814rem + 2.7906976744vw, 3rem);
}

h2,
.h2 {
  font-size: clamp(1.875rem, 1.351744186rem + 2.0930232558vw, 3rem);
}

h3,
.h3 {
  font-size: clamp(1.5rem, 1.2674418605rem + 0.9302325581vw, 2rem);
}

h4,
.h4 {
  font-size: clamp(1.25rem, 1.1337209302rem + 0.4651162791vw, 1.5rem);
}

h5,
.h5 {
  font-size: clamp(1.0625rem, 0.9752906977rem + 0.3488372093vw, 1.25rem);
}

h6,
.h6 {
  font-size: clamp(0.9375rem, 0.8502906977rem + 0.3488372093vw, 1.125rem);
}

a,
button,
input,
textarea,
label,
select,
svg * {
  transition-duration: var(--transition-duration);
}

a {
  color: inherit;
  text-decoration: none;
}
@media (any-hover: hover) {
  a:hover {
    filter: opacity(0.6);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  a:active {
    filter: opacity(0.6);
  }
}
a:active {
  filter: opacity(0.4);
  will-change: transform;
  scale: 0.98;
}

:focus {
  transition-duration: 0s !important;
}

a[aria-label]:not(.promotion__card-link),
button[aria-label]:not(.promotion__card-link) {
  position: relative;
}
a[aria-label]:not(.promotion__card-link)::before,
button[aria-label]:not(.promotion__card-link)::before {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 2.75rem;
  height: 2.75rem;
  content: "";
}

/*  ===================================  */
/*  ===================================  */
/* Animations */
@keyframes scrolling-sticky {
  to {
    box-shadow: 0 0 10rem 1rem var(--color-black-opacity-80);
  }
}
@keyframes visible-to-scroll {
  to {
    position: static;
    translate: 0 0;
    height: auto;
    overflow: visible;
  }
}
@keyframes hidden-to-scroll {
  to {
    translate: 0 -62.5rem;
    height: 0.0625rem;
    overflow: hidden;
    position: absolute;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Styles for buttons */
.button {
  --buttonColorBg: var(--color-blue);
  --buttonColorBgLight: var(--color-blue-light);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(0.8125rem, 0.7252906977rem + 0.3488372093vw, 1rem);
  line-height: 1.5;
  letter-spacing: var(--letter-spacing);
  font-weight: 700;
  color: var(--text-color-light);
  background-color: var(--buttonColorBg);
  border: none;
  border-radius: var(--border-radius);
  min-height: var(--button-height);
  padding: 0.5625rem 1.25rem;
  transition-duration: var(--transition-duration) !important;
  will-change: transform;
}
@media (any-hover: hover) {
  .button:hover {
    filter: brightness(90%);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .button:active {
    filter: brightness(90%);
  }
}
.button:active {
  filter: brightness(90%);
  scale: 0.97;
}
.button--light-bg-color {
  background-color: var(--buttonColorBgLight);
}
.button__icon--tg {
  width: 1.75rem;
  height: 1.4375rem;
  fill: currentColor;
}
.button--entry-tg {
  display: flex;
  align-items: center;
  column-gap: 1.375rem;
  min-height: clamp(3.125rem, 2.2529069767rem + 3.488372093vw, 5rem);
  padding-inline: 0.96875rem 0.84375rem;
  font-size: clamp(0.9375rem, 0.7921511628rem + 0.5813953488vw, 1.25rem);
  line-height: 1.3;
  border-radius: var(--border-radius-small);
  color: var(--color-light);
  background-color: var(--color-blue-light);
}
.button--accent-bg {
  background-color: var(--color-accent);
}
.button--light {
  font-size: 0.8125rem;
  line-height: 1.69;
  background-color: var(--color-light);
  color: var(--text-color-medium);
  border: 0.0625rem solid currentColor;
}
.button--light-accent {
  color: var(--color-accent);
  background-color: var(--color-light);
}
.button--medium-padding {
  padding-inline: 2.15625rem;
}

@media (width <= 47.99875rem) {
  .button {
    --buttonColorBg: var(--color-blue-light);
  }
  .button--light {
    min-height: var(--button-height-small);
    padding: 0.3125rem 0.6875rem;
  }
}
@media (width <= 35.93625rem) {
  .button {
    width: 100%;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Styles for common block logo */
.logo {
  width: 20.625rem;
  height: 4.375rem;
}
.logo--short {
  flex-shrink: 0;
  width: 2.8125rem;
  height: 2.8125rem;
}
@media (any-hover: hover) {
  .logo:hover {
    filter: opacity(50%);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .logo:active {
    filter: opacity(50%);
  }
}
.logo:active {
  filter: opacity(30%);
  scale: 0.98;
}
.logo__image {
  width: inherit;
  height: inherit;
}

/*  ===================================  */
/*  ===================================  */
/* Styles for common block section */
.section {
  margin-bottom: var(--section-margin-y);
}
.section--extra-big-margin {
  margin-bottom: var(--section-margin-y-extra-big);
}
.section--big-margin {
  margin-bottom: var(--section-margin-y-big);
}
.section--static-margin {
  margin-bottom: var(--section-margin-y-static);
}
.section--static-medium-margin {
  margin-bottom: var(--section-margin-y-medium-static);
}
.section--margin-to-medium {
  margin-bottom: var(--section-margin-y-to-medium);
}
.section--extra-big-to-medium-margin {
  margin-bottom: var(--section-margin-y-extra-big-to-medium);
}
.section--big-to-medium-margin {
  margin-bottom: var(--section-margin-y-big-to-medium);
}
.section--big-to-small-margin {
  margin-bottom: var(--section-margin-y-big-to-small);
}
.section--extra-big-to-small-margin {
  margin-bottom: var(--section-margin-y-extra-big-to-small);
}
.section__title {
  margin-block: 0 clamp(1.25rem, 0.3779069767rem + 3.488372093vw, 3.125rem);
  text-align: center;
  line-height: 1.2;
}
.section__title--static-margin {
  margin-block: 0 3.125rem !important;
}
.section__subtitle {
  color: var(--text-color-dark-secondary);
  text-align: center;
  line-height: 1.5;
  font-weight: 600;
  margin-inline: auto;
  margin-block: 0 clamp(1.25rem, 0.3779069767rem + 3.488372093vw, 3.125rem);
}
.section__subtitle--tire-fitting-page {
  max-width: 50rem;
}

@media (width <= 63.99875rem) {
  .section__title {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-block: 0 1.25rem;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Block call-up . Part of header*/
.call-up {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.625rem;
}
.call-up__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
.call-up__text {
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.07em;
  text-align: center;
  color: var(--text-color-medium);
}

@media (width <= 63.99875rem) {
  .call-up__link {
    font-size: 1rem;
  }
  .call-up__text {
    font-size: 0.875rem;
  }
}
/* BLock header-menu .part of header*/
.header-menu {
  width: 100%;
}
.header-menu--not-to-scroll {
  /* Временно , заменить на display none , через JS */
  animation-name: hidden-to-scroll;
  animation-fill-mode: both;
  animation-timeline: scroll();
  animation-range: 25rem 25rem;
}
.header-menu--color-accent {
  background-color: var(--color-accent-200);
}
.header-menu__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: clamp(0.9375rem, 0.8502906977rem + 0.3488372093vw, 1.125rem);
  column-gap: clamp(1rem, 0.3023255814rem + 2.7906976744vw, 2.5rem);
  row-gap: 1.0625rem;
  padding-block: 0.84375rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (width <= 81.31125rem) {
  .header-menu__list {
    flex-wrap: wrap;
  }
  .header-menu__item {
    margin-inline: auto;
  }
}
@media (width <= 63.99875rem) {
  .header-menu__list {
    font-size: 0.9375rem;
    max-width: 47.5rem;
  }
}
@media (width <= 47.99875rem) {
  .header-menu--not-to-scroll {
    /* Временно , заменить на display none , через JS */
    animation-range: 3.125rem 3.125rem;
  }
  .header-menu__list {
    padding-block: 0.9375rem;
    padding-inline: 0.625rem;
  }
}
/* BLock header-top-menu */
.header-top-menu {
  --mobileMenuTextColor: var(--color-light);
  display: block;
  background-color: var(--color-gray-900);
  padding-block: 0.6875rem;
  color: var(--mobileMenuTextColor);
  font-weight: 600;
  font-size: 0.875rem;
  /* Временно , заменить на display none , через JS */
  animation-name: hidden-to-scroll;
  animation-fill-mode: both;
  animation-timeline: scroll();
  animation-range: 25rem 25rem;
}
.header-top-menu__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  gap: 1.625rem;
}
.header-top-menu__link--color-accent {
  color: var(--color-accent);
}
.header-top-menu__link--color-green {
  color: var(--color-green-light);
}

@media (width <= 63.99875rem) {
  .header-top-menu__list {
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100vh;
    background-color: transparent;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Styles for mobile menu. part of header */
.mobile-menu {
  --mobileMenuBackgroundColor: var(--color-gray-900);
  z-index: 4;
}
.mobile-menu__burger {
  width: 1.71875rem;
  height: 1.75rem;
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.3125rem 0.125rem;
  color: var(--text-color-dark);
  background-color: transparent;
  border: none;
}
.mobile-menu__burger-line {
  width: 100%;
  height: 0.125rem;
  border-radius: 0.125rem;
  background-color: currentColor;
  transition-duration: var(--transition-duration);
}
@media (any-hover: hover) {
  .mobile-menu__burger:hover {
    color: var(--color-accent);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .mobile-menu__burger:active {
    color: var(--color-accent);
  }
}
.mobile-menu__wrapper {
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  padding: var(--container-padding-x);
  background-color: var(--mobileMenuBackgroundColor);
  visibility: hidden;
  transition-duration: var(--transition-duration);
  transform: translateY(-100%);
}
.mobile-menu__link--color-accent {
  color: var(--color-accent);
}
.mobile-menu__link--color-green {
  color: var(--color-green-light);
}

#menu-switch[type=checkbox] {
  display: none;
}
#menu-switch[type=checkbox]:checked ~ .mobile-menu__burger {
  color: var(--text-color-light);
}
#menu-switch[type=checkbox]:checked ~ .mobile-menu__burger .mobile-menu__burger-line:first-child {
  rotate: 45deg;
  transform-origin: 0;
  translate: 0.25em -0.04em;
}
#menu-switch[type=checkbox]:checked ~ .mobile-menu__burger .mobile-menu__burger-line:nth-child(2) {
  rotate: -45deg;
}
#menu-switch[type=checkbox]:checked ~ .mobile-menu__burger .mobile-menu__burger-line:last-child {
  width: 0;
}
#menu-switch[type=checkbox]:checked ~ .mobile-menu__wrapper {
  visibility: visible;
  transform: translateY(0%);
  overflow: hidden;
}

/* General block header.For all pages. */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  animation-name: scrolling-sticky;
  animation-fill-mode: both;
  animation-timeline: scroll();
  animation-range: 12.5rem 18.75rem;
  background-color: var(--color-accent-50);
}
.header__logo {
  width: 20.625rem;
  height: 4.375rem;
}
.header__general {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1.5rem;
  padding-block: clamp(0.125rem, -0.136627907rem + 1.0465116279vw, 0.6875rem) 0.75rem;
}
.header__general--to-scroll {
  /* Временно , заменить на display none , через JS */
  position: absolute;
  translate: 0 -62.5rem;
  height: 0.0625rem;
  overflow: hidden;
  animation-name: visible-to-scroll;
  animation-fill-mode: both;
  animation-timeline: scroll();
  animation-range: 25rem 25rem;
}
.header__buttons {
  display: flex;
  align-items: center;
  justify-content: end;
  column-gap: 3.6875rem;
}

@media (width > 63.99875rem) {
  .header__general--not-to-scroll {
    /* Временно , заменить на display block , через JS */
    animation-name: hidden-to-scroll;
    animation-fill-mode: both;
    animation-timeline: scroll();
    animation-range: 25rem 25rem;
  }
}
@media (width <= 81.31125rem) {
  .header__buttons {
    column-gap: 1.5rem;
  }
}
@media (width <= 63.99875rem) {
  .header__logo {
    grid-area: logo;
    width: 16.4375rem;
    height: 3.375rem;
  }
  .header__general {
    display: grid;
    grid-template-columns: 1fr auto auto;
    grid-template-areas: "logo buttons burger";
    row-gap: 0.75rem;
  }
  .header__buttons {
    grid-area: buttons;
    justify-content: center;
  }
  .header__mobile-menu {
    grid-area: burger;
    justify-self: end;
  }
}
@media (width <= 47.99875rem) {
  .header {
    background-color: var(--color-light);
  }
  .header__logo {
    width: 17.0625rem;
    height: 3.625rem;
  }
  .header__general {
    padding-inline: 0.625rem 0.5rem;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "logo burger" "buttons buttons";
  }
  .header__buttons {
    column-gap: 1rem;
  }
}
/*  ===================================  */
/*  =============END header============  */
/*  ===================================  */
/* Section promo. Styles for main page */
.promo {
  position: relative;
  min-height: 31.25rem;
  color: var(--text-color-light);
  overflow: hidden;
  background: var(--color-grad-1);
}
.promo__background {
  max-width: 120rem;
  width: 100%;
  height: 31.25rem;
  position: absolute;
  left: 50%;
  translate: -50% 0;
}
.promo__decor-image {
  width: 16.8125rem;
  height: 16.8125rem;
  position: absolute;
}
.promo__decor-image--left {
  top: 4.0625rem;
  left: 2rem;
}
.promo__decor-image--right {
  right: 0;
  bottom: -50%;
  translate: 0 -50%;
}
.promo__main-image {
  width: inherit;
  height: inherit;
}
.promo__main-image-wrapper {
  width: 31.25rem;
  height: 31.25rem;
  position: absolute;
  right: 15rem;
  display: flex;
  align-items: center;
  justify-content: end;
}
.promo__main-image-wrapper::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  bottom: 5%;
  right: 0;
  width: 95%;
  height: 3.8125rem;
  background-color: var(--color-black-light);
  filter: blur(1rem);
}
.promo__content {
  padding-block: clamp(3.125rem, 1.6715116279rem + 5.8139534884vw, 6.25rem) 0;
}
.promo__title {
  position: relative;
  max-width: 54.6875rem;
  line-height: 1.27;
  margin-bottom: 2.5rem;
}
.promo__subtitle {
  position: relative;
  margin-bottom: 2.5rem;
  line-height: 1.5;
  max-width: 32.1875rem;
}
.promo__buttons {
  display: flex;
  gap: clamp(1rem, 0.7674418605rem + 0.9302325581vw, 1.5rem);
}
.promo__button {
  position: relative;
  font-size: 1rem;
  letter-spacing: 0.028em;
}

@media (width <= 112.56125rem) {
  .promo__main-image-wrapper {
    right: 9.375vw;
  }
  .promo__decor-image--left {
    top: -50%;
    translate: -50% 50%;
  }
  .promo__decor-image--right {
    translate: 50% -50%;
  }
}
@media (width <= 100.06125rem) {
  .promo__main-image-wrapper {
    right: 6.375vw;
  }
  .promo__content {
    padding-block: 3.125rem 0;
  }
  .promo__title {
    max-width: 43.75rem;
    margin-bottom: 1.9375rem;
  }
  .promo__subtitle {
    max-width: 23.75rem;
  }
}
@media (width <= 81.31125rem) {
  .promo__main-image-wrapper {
    right: 5.375vw;
  }
  .promo__subtitle {
    margin-bottom: 1.9375rem;
  }
}
@media (width <= 63.99875rem) {
  .promo {
    min-height: 24.625rem;
    background: var(--color-grad-2), var(--color-grad-1);
  }
  .promo .container {
    --container-padding-x: 2.6875rem;
  }
  .promo__main-image-wrapper {
    width: 19.75rem;
    height: 19.75rem;
    top: 2rem;
  }
  .promo__main-image-wrapper::after {
    height: 2.5rem;
    max-width: 21.25rem;
    left: 50%;
    bottom: 2%;
    translate: -50% 0;
  }
  .promo__content {
    padding-block: 4.375rem 0;
  }
  .promo__title {
    max-width: 28.875rem;
    font-size: 1.5rem;
  }
  .promo__subtitle {
    max-width: 21.25rem;
    font-size: 1rem;
    margin-bottom: 1.9375rem;
  }
  .promo__button {
    font-size: 0.8125rem;
    min-width: 10rem;
    line-height: 1.69231;
  }
}
@media (width <= 47.99875rem) {
  .promo {
    background: inherit;
  }
  .promo__background {
    position: static;
    top: unset;
    left: unset;
    display: flex;
    align-items: end;
    justify-content: center;
    height: 30.25rem;
    translate: 0;
    max-width: unset;
    width: 100%;
    background: var(--color-grad-2), var(--color-grad-1);
    padding-inline: var(--container-padding-x);
    padding-block: 0 1rem;
    margin-bottom: 0.625rem;
  }
  .promo__main-image {
    width: 19.75rem;
    height: 19.75rem;
  }
  .promo__main-image-wrapper {
    position: relative;
    right: unset;
    top: unset;
  }
  .promo__content {
    padding-block: unset;
    padding-inline: 0.75rem;
  }
  .promo__title {
    position: absolute;
    top: 2.5rem;
    left: 50%;
    translate: -50% 0;
    width: 100%;
    text-align: center;
    line-height: 1.3;
  }
  .promo__subtitle {
    max-width: unset;
    margin-bottom: 0.625rem;
    color: var(--text-color-dark);
    font-weight: 600;
  }
  .promo__buttons {
    justify-content: center;
  }
}
@media (width <= 30.06125rem) {
  .promo__title {
    max-width: 20rem;
  }
}
/*  ===================================  */
/*  =====END promo block(home page)====  */
/*  ===================================  */
/* Style for accent red link from common blocks */
.accent-color-link {
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.7;
  letter-spacing: var(--letter-spacing);
  text-decoration: underline;
  text-decoration-skip-ink: none;
  color: var(--color-accent-600);
}

/*  ===================================  */
/*  ===================================  */
/* Styles for common block service */
.service__name {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
  line-height: 1.2;
  min-height: 4.75rem;
  padding-inline: 0.625rem;
}
.service__name--large-gap {
  column-gap: 1rem;
}
.service__name-icon {
  width: 3.75rem;
  height: 3.75rem;
}
.service__link {
  font-weight: 700;
  line-height: 1.4;
}
.service__link--name {
  font-size: 1.5rem;
  line-height: 1.2;
}
.service__link--name-small {
  font-size: 1.25rem;
}
.service__link--arrow {
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 0.25rem;
  text-transform: uppercase;
  width: 100%;
}
.service__link--arrow span {
  width: 95%;
}
.service__link--arrow::after {
  content: "➜";
  width: 1.125rem;
  height: 1.125rem;
  color: currentColor;
  font-size: inherit;
}
.service__list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.service__list--services-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1.5rem;
  row-gap: 0.625rem;
}
.service__list-item {
  display: inline-flex;
  width: 100%;
  min-height: 3.125rem;
  padding-inline: 0.625rem 0.25rem;
}

@media (width <= 81.31125rem) {
  .service__list--services-page {
    display: flex;
    flex-direction: column;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Styles for common block services-menu . ( it's third block in the home page )*/
.services-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.services-menu__item {
  width: 100%;
  border: var(--border-light);
  border-radius: var(--border-radius-small);
  padding: 1.5rem 0.625rem 1.875rem;
}
.services-menu__name {
  align-self: start;
}
.services-menu__service {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-self: start;
  row-gap: 1.875rem;
  width: 100%;
}
.services-menu__service-list {
  width: 100%;
}
.services-menu__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.5rem;
}
.services-menu__buttons-note {
  max-width: 16.0625rem;
  font-size: 0.75rem;
  line-height: 1.2;
  color: var(--text-color-dark-secondary);
}

@media (width <= 63.99875rem) {
  .services-menu {
    gap: 1.25rem;
  }
}
/*  ===================================  */
/*  ===================================  */
/* That's styles for services promotion. General component for section overview-services on the home page */
.services-promotion {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
}
.services-promotion__image {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6.25rem;
  height: 6.25rem;
}
.services-promotion__list {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.5rem;
}
.services-promotion__list-item {
  width: 100%;
}
.services-promotion__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  max-width: 18.5625rem;
  width: 100%;
  min-height: 10.625rem;
  padding-inline: 1.5rem;
  background-color: var(--color-black-light);
  color: var(--color-light);
  border-radius: var(--border-radius-small);
}
.services-promotion__card-title {
  font-size: 1.125rem;
  margin-bottom: 1rem;
}
.services-promotion__card-text {
  position: relative;
  z-index: 1;
  max-width: 12.5rem;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.4;
}

@media (width <= 100.06125rem) {
  .services-promotion {
    gap: 1.25rem;
  }
  .services-promotion__list {
    align-items: center;
    flex-direction: row;
    gap: 1.5rem;
  }
  .services-promotion__card {
    max-width: 100%;
  }
}
@media (width <= 81.31125rem) {
  .services-promotion__list {
    flex-direction: column;
    gap: 1.25rem;
    max-width: 31.875rem;
    width: 100%;
  }
  .services-promotion__image {
    right: 32px;
  }
}
@media (width <= 47.99875rem) {
  .services-promotion {
    gap: 0.625rem;
  }
  .services-promotion__list {
    gap: 0.625rem;
  }
  .services-promotion__image {
    right: 16px;
  }
}
/* =============================== */
/* =============================== */
/* Styles for section overview-services on the home page */
.overview-services {
  display: flex;
  gap: 1.5rem;
}
.overview-services__services-menu .services-menu__list {
  max-width: 58.75rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "tire-fitting car-wash сar-rapair" "tire-fitting car-wash сar-rapair" "tire-fitting car-wash сar-rapair";
  gap: 1.5rem;
}
.overview-services__services-menu .services-menu__list .services-menu__item--grid-cell-1 {
  grid-area: tire-fitting;
}
.overview-services__services-menu .services-menu__list .services-menu__item--grid-cell-2 {
  grid-area: car-wash;
}
.overview-services__services-menu .services-menu__list .services-menu__item--grid-cell-3 {
  grid-area: сar-rapair;
}
.overview-services__services-menu .services-menu__list .services-menu__item--grid-cell-4 {
  display: inline-flex;
  align-items: center;
  padding-inline: 1.5rem;
  grid-area: refill-conditioning;
}
.overview-services__services-menu .services-menu__list .services-menu__item--grid-cell-5 {
  display: inline-flex;
  align-items: center;
  padding-inline: 1.5rem;
  grid-area: wheel-alignment;
}

@media (width <= 100.06125rem) {
  .overview-services {
    flex-direction: column;
  }
  .overview-services__services-menu .services-menu__list {
    max-width: unset;
  }
}
@media (width <= 81.31125rem) {
  .overview-services__services-menu .services-menu__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "tire-fitting car-wash" "сar-rapair refill-conditioning" "сar-rapair wheel-alignment";
  }
}
@media (width <= 63.99875rem) {
  .overview-services {
    gap: 2.5rem;
  }
  .overview-services__services-menu .services-menu__list {
    gap: 1.25rem;
  }
}
/*  ===================================  */
/*  ===END section overview-services===  */
/*  ===================================  */
/* Styles from section messenger-action. sourse is home page */
.messenger-action__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  min-height: 22.25rem;
  color: var(--text-color-light);
  background: var(--color-grad-1);
}
.messenger-action__image-wrapper {
  flex-shrink: 0;
  width: 21.8125rem;
  height: 21.8125rem;
}
.messenger-action__image {
  width: 21.8125rem;
  height: 21.8125rem;
}
.messenger-action__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 42.0625rem;
}
.messenger-action__title {
  line-height: 1.2;
}
.messenger-action__subtitle {
  line-height: 1.5;
}
.messenger-action__button {
  align-self: flex-start;
}

@media (width <= 81.31125rem) {
  .messenger-action__body {
    max-width: 28.75rem;
  }
}
/*  ===================================  */
/*  ====END section messenger-action===  */
/*  ===================================  */
/* Search block. ( form + input + button) .part of block locations */
.search {
  --searchBlockHeight: 2.375rem;
  --searchBlockHeightHigh: 3.125rem;
  --searchBgColor: var(--color-light);
  --searchBgColorHover: var(--color-gray-100);
  --searchBorder: var(--border-light);
  --searchIconColor: var(--color-border-medium);
  position: relative;
  display: block;
  height: 100%;
}
.search__input {
  min-height: var(--searchBlockHeight);
  height: 100%;
  width: 100%;
  padding-inline: 0.625rem calc(var(--searchBlockHeight) + 1.25rem);
  padding-block: 0.1875rem;
  border: none;
  outline: var(--searchBorder);
  border-radius: var(--border-radius-small);
  background-color: var(--searchBgColor);
  transition-duration: var(--transition-duration) !important;
}
.search__input--high {
  min-height: var(--searchBlockHeightHigh);
}
.search__input:focus {
  background-color: var(--searchBgColor) !important;
  outline: var(--border);
}
@media (any-hover: hover) {
  .search__input:hover {
    background-color: var(--searchBgColorHover);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .search__input:active {
    background-color: var(--searchBgColorHover);
  }
}
.search__button {
  padding: 0;
  background-color: transparent;
  border: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: absolute !important;
  top: 0;
  right: 0;
  border-radius: var(--border-radius-small);
  min-height: var(--searchBlockHeight);
  width: var(--searchBlockHeight);
}
.search__button--high {
  min-height: var(--searchBlockHeightHigh);
}
@media (any-hover: hover) {
  .search__button:hover {
    filter: opacity(0.6);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .search__button:active {
    filter: opacity(0.6);
  }
}
.search__button:active {
  filter: opacity(0.3);
}
.search__icon {
  fill: transparent;
  stroke: var(--searchIconColor);
}

@media (width <= 47.99875rem) {
  .search {
    --searchBlockHeightHigh: 2.625rem;
  }
}
/* Filter services in the block locations. ( form and input type ratios )*/
.locations-filter__border {
  display: flex;
  align-items: center;
  column-gap: 1.5rem;
  outline: none;
}
.locations-filter__element {
  display: flex;
  align-items: center;
  column-gap: 0.6875rem;
  outline: var(--border-light);
  border-radius: var(--border-radius-small);
  padding: 0.875rem 0.6875rem 0.75rem 0.6875rem;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.1;
  text-transform: uppercase;
  transition-duration: var(--transition-duration) !important;
  will-change: transform;
}
@media (any-hover: hover) {
  .locations-filter__element:hover {
    filter: opacity(70%);
    outline: var(--border);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .locations-filter__element:active {
    filter: opacity(70%);
    outline: var(--border);
  }
}
.locations-filter__element:active {
  scale: 0.98;
}
.locations-filter__input {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
}
.locations-filter__input::before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  content: "";
  position: absolute;
  width: inherit;
  height: inherit;
  outline: var(--border);
  border-radius: 0.125rem;
  background-color: var(--color-light);
  cursor: pointer;
}
.locations-filter__input:checked::before {
  content: "✔";
}

/* Styles for location-card . Source - block locations */
.location-card {
  --locationCardBg: var(--color-light);
  --locationCardBgActive: var(--color-accent-200);
  --locationCardHeight: 12.75rem;
  display: flex;
  min-height: var(--locationCardHeight);
  transition-duration: var(--transition-duration);
  outline: var(--border-light);
  border-radius: var(--border-radius-small);
  background-color: var(--locationCardBg);
}
.location-card.is-active {
  background-color: var(--locationCardBgActive);
}
@media (any-hover: hover) {
  .location-card:hover {
    background-color: var(--locationCardBgActive);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .location-card:active {
    background-color: var(--locationCardBgActive);
  }
}
.location-card__image {
  width: inherit;
  min-height: inherit;
  border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
}
.location-card__image-wrapper {
  width: 8.75rem;
  min-height: 100%;
  flex-shrink: 0;
}
.location-card__body {
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  justify-content: end;
  padding: 1.25rem;
  color: var(--text-color-dark-secondary);
}
.location-card__address {
  flex-grow: 1;
}
.location-card__address-button {
  padding: 0;
  background-color: transparent;
  border: none;
  color: var(--text-color-dark);
  cursor: pointer;
  letter-spacing: var(--letter-spacing);
  line-height: 1.3;
  transition-duration: var(--transition-duration) !important;
}
@media (any-hover: hover) {
  .location-card__address-button:hover {
    filter: opacity(0.6);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .location-card__address-button:active {
    filter: opacity(0.6);
  }
}
.location-card__address-button:active {
  filter: opacity(0.3);
  will-change: transform;
}
.location-card__text-block {
  font-size: 1rem;
  line-height: 1.4;
  word-spacing: 0.1em;
}
.location-card__text-block p:not(:last-child) {
  margin-bottom: 0;
}
.location-card__register-time--today {
  color: var(--color-green-light);
}
.location-card__buttons {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

@media (width <= 47.99875rem) {
  .location-card {
    --locationCardHeight: 9.875rem;
    row-gap: 0.625rem;
  }
  .location-card__image-wrapper {
    width: 6.25rem;
  }
  .location-card__body {
    padding: 0.625rem;
  }
  .location-card__address {
    letter-spacing: -0.02em;
  }
  .location-card__text-block {
    font-size: 0.9375rem;
    word-spacing: 0.2em;
  }
}
/* Styles for the map. part of block locations .Current, will need to be added...*/
.map-block {
  position: relative;
}
.map-block__iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.map-block__marker {
  position: absolute;
  top: 50%;
  left: 30%;
  width: clamp(1.125rem, 0.3691860465rem + 3.023255814vw, 2.75rem);
  height: clamp(1.5rem, 0.511627907rem + 3.9534883721vw, 3.625rem);
}
.map-block__marker--active {
  left: 40%;
}

/* Section locations. Component for the user to select a suitable service on the map. sourse home page */
.locations {
  --locationScrollThumbColor: var(--color-gray-400);
  --locationScrollThumbColorHover: var(--color-gray-500);
  --locationScrollBgColor: var(--color-gray-90);
  --locationListHeight: 45rem;
}
.locations__filter {
  margin-block: 0 clamp(0.625rem, 0.0436046512rem + 2.3255813953vw, 1.875rem);
}
.locations__body {
  height: var(--locationListHeight);
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-block: 0 clamp(0.625rem, 0.0436046512rem + 2.3255813953vw, 1.875rem);
}
.locations__list {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 0.25rem;
  max-width: 31.6875rem;
  width: 100%;
  height: inherit;
  padding-inline: 0.0625rem 0.25rem;
  padding-block: 0.125rem 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.locations__list::-webkit-scrollbar {
  width: 0.275rem;
  height: 0.275rem;
}
.locations__list::-webkit-scrollbar-track {
  background: var(--locationScrollBgColor);
}
.locations__list::-webkit-scrollbar-thumb {
  background: var(--locationScrollThumbColor);
}
.locations__list::-webkit-scrollbar-thumb:hover {
  background: var(--locationScrollThumbColorHover);
}
.locations__list::-webkit-scrollbar-button {
  display: none;
}
.locations__list-item--search {
  position: sticky;
  top: 0;
  z-index: 3;
  animation-name: scrolling-sticky;
  animation-fill-mode: both;
  animation-timeline: scroll();
  animation-range: 1.25rem 2.5rem;
}
.locations__map-block {
  max-width: 46.0625rem;
  width: 100%;
}

@media (width <= 81.31125rem) {
  .locations {
    --locationListHeight: 55.875rem;
  }
  .locations__body {
    flex-direction: column-reverse;
    height: auto;
    gap: 1.25rem;
  }
  .locations__list {
    height: var(--locationListHeight);
    max-width: unset;
    row-gap: 0.625rem;
  }
  .locations__map-block {
    height: 19.5rem;
    max-width: unset;
    border-radius: var(--border-radius-small);
    overflow: hidden;
  }
}
@media (width <= 63.99875rem) {
  .locations__filter {
    margin-block: 0 0.625rem;
  }
}
@media (width <= 47.99875rem) {
  .locations {
    --locationListHeight: 41.875rem;
  }
}
@media (width <= 30.06125rem) {
  .locations__list {
    padding-inline: 0.0625rem 0.125rem;
  }
}
/*  ===================================  */
/*  =======END section locations=======  */
/*  ===================================  */
/* Styles for block online-registration.( home page. block containing cervices map )*/
.online-registration {
  --section-margin-y: 5rem;
}
.online-registration__subtitle {
  max-width: 48.625rem;
}
.online-registration__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.875rem;
}
.online-registration__button {
  min-width: 12.875rem;
}

/*  ===================================  */
/*  ==END block online-registration==  */
/*  ===================================  */
/* Styles for single card of special offer. source -- block section special offers */
.special-offer {
  --specialOfferCardWidth: 38.625rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 1.5rem;
  border-radius: var(--border-radius-small);
  border: var(--border-light);
  max-width: var(--specialOfferCardWidth);
  width: 100%;
  height: 100%;
}
.special-offer__image {
  object-fit: cover;
  width: inherit;
  height: inherit;
  border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
}
.special-offer__image-wrapper {
  display: block;
  position: relative;
  max-width: var(--specialOfferCardWidth);
  width: 100%;
  height: 13.75rem;
}
.special-offer__image-wrapper--dark-filter::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
  background-color: rgba(59, 6, 5, 0.1490196078);
}
.special-offer__body {
  display: flex;
  flex-direction: column;
  justify-content: end;
  row-gap: 1.25rem;
  padding: 0 1.5rem 1.5rem 1.5rem;
  height: 100%;
}
.special-offer__heading {
  min-height: 3.25rem;
  line-height: 1.3;
}
.special-offer__text {
  flex-grow: 1;
  line-height: 1.5;
  color: var(--text-color-dark-secondary);
}
.special-offer__button {
  align-self: start;
  font-size: 1rem;
}

@media (width <= 63.99875rem) {
  .special-offer {
    --specialOfferCardWidth: 34.375rem;
    row-gap: 1rem;
  }
  .special-offer__body {
    padding: 0 1rem 1rem 1rem;
    row-gap: 1rem;
  }
  .special-offer__heading {
    line-height: 1.2;
  }
}
@media (width <= 47.99875rem) {
  .special-offer {
    --specialOfferCardWidth: 47.9375rem;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Styles for section special offers. source -- main page */
.special-offers__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

@media (width <= 63.99875rem) {
  .special-offers__list {
    gap: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
/*  ===================================  */
/*  ===================================  */
/* Styles for block-card reviews 
(reviews-slider). Part of section reviews. source -- home page */
.review-card {
  --reviewCardBorderColor: var(--color-gray-90);
  --reviewCardTitleColor: black;
  --reviewCardTextColor: var(--color-gray-550);
  --reviewCardTextLight: var(--color-gray-450);
  position: relative;
  width: 100%;
  min-height: 20.6875rem;
  outline: 0.0625rem solid var(--reviewCardBorderColor);
  border-radius: var(--border-radius-extra-small);
}
.review-card__button {
  padding: 0;
  background-color: transparent;
  border: none;
  position: absolute;
  bottom: 0.625rem;
  right: 0.625rem;
  font-size: 1.125rem;
  white-space: nowrap;
  color: var(--reviewCardTextLight);
  transition-duration: var(--transition-duration) !important;
}
.review-card__button::before {
  position: absolute;
  bottom: 0;
  right: 0;
  translate: 0 30%;
  height: 2.75rem;
  width: 6.25rem;
  content: "";
}
@media (any-hover: hover) {
  .review-card__button:hover {
    filter: brightness(80%);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .review-card__button:active {
    filter: brightness(80%);
  }
}
.review-card__button:active {
  scale: 0.96;
}
.review-card__button-switcher[type=checkbox] {
  display: none;
}
.review-card__button-switcher[type=checkbox]:checked ~ .review-card__body > .review-card__review {
  -webkit-line-clamp: unset;
}
.review-card__button-switcher[type=checkbox]:checked ~ .review-card__button > .review-card__button-text.is-active {
  opacity: 0;
}
.review-card__button-switcher[type=checkbox]:checked ~ .review-card__button > .review-card__button-text {
  opacity: 1;
}
.review-card__button-text {
  opacity: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}
.review-card__button-text.is-active {
  opacity: 1;
}
.review-card__header {
  padding-inline: 1.5rem;
  padding-block: 1rem 1.5rem;
  border-bottom: 0.0625rem solid var(--reviewCardBorderColor);
}
.review-card__header-title {
  font-size: 0.9375rem;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--reviewCardTitleColor);
  margin-bottom: 0.875rem;
}
.review-card__header-content {
  display: flex;
  align-items: center;
  column-gap: 1.125rem;
}
.review-card__image {
  width: 3.5rem;
  height: 3.5rem;
}
.review-card__description {
  display: flex;
  flex-direction: column;
  row-gap: 0.4375rem;
}
.review-card__text {
  color: var(--reviewCardTextColor);
  font-size: 1.125rem;
  line-height: 1.5;
}
.review-card__text--small {
  font-size: 1rem;
  color: var(--reviewCardTextLight);
}
.review-card__text--color-dark {
  color: var(--reviewCardTitleColor);
}
.review-card__body {
  display: flex;
  flex-direction: column;
  row-gap: 0.4375rem;
  padding-inline: 1.5rem;
  padding-block: 0.8125rem 2.1875rem;
}
.review-card__user-name {
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--reviewCardTitleColor);
}
.review-card__feature {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.review-card__rating-icon {
  fill: var(--color-rating-star);
}
.review-card__rating-icon.is-active {
  fill: var(--color-rating-star-active);
}
.review-card__date {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--reviewCardTextLight);
}
.review-card__review {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

@media (width <= 63.99875rem) {
  .review-card {
    min-height: 21.3125rem;
  }
  .review-card__user-name {
    font-size: 1rem;
    line-height: 1.5;
  }
  .review-card__text {
    font-size: 1rem;
  }
  .review-card__text--small {
    font-size: 0.9375rem;
  }
  .review-card__date {
    font-size: 0.75rem;
    line-height: 1.66;
  }
  .review-card__button {
    font-size: 1rem;
  }
  .review-card__body {
    row-gap: 0.5625rem;
  }
}
/* Styles for block reviews-controls (reviews-slider). Part of section reviews. source -- home page */
.reviews-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  max-width: 8.625rem;
  width: 100%;
  margin-inline: auto;
  color: var(--text-color-dark-secondary) !important;
}
.reviews-controls span {
  color: var(--text-color-dark-secondary) !important;
}
.reviews-controls__pagination {
  text-align: center;
}
.reviews-controls__next, .reviews-controls__prev {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 0.125rem;
  transition-duration: var(--transition-duration) !important;
  color: currentColor;
  background-color: var(--color-light);
}
@media (any-hover: hover) {
  .reviews-controls__next:hover, .reviews-controls__prev:hover {
    filter: brightness(90%);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .reviews-controls__next:active, .reviews-controls__prev:active {
    filter: brightness(90%);
  }
}
.reviews-controls__next:active, .reviews-controls__prev:active {
  scale: 0.9;
  filter: brightness(90%);
}
.reviews-controls__next::before, .reviews-controls__prev::before {
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  content: "";
  border-left: 0.125rem solid currentColor;
  border-bottom: 0.125rem solid currentColor;
}
.reviews-controls__next::after, .reviews-controls__prev::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 2.75rem;
  height: 2.75rem;
  content: "";
}
.reviews-controls__prev::before {
  rotate: 45deg;
  translate: 25% 0;
}
.reviews-controls__next::before {
  rotate: 225deg;
  translate: -25% 0;
}

/* Section reviews. sourse -- home page */
.reviews {
  overflow: hidden;
  padding-block: 0 0.0625rem;
}
.reviews__title {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.625rem;
}
.reviews__title-icon {
  width: 36;
  height: 36;
}
.reviews__slider {
  min-height: 20.8125rem;
  margin-block: 0 clamp(1.25rem, 0.3779069767rem + 3.488372093vw, 3.125rem);
}
.reviews__slider-item {
  max-width: 25.25rem;
}

@media (width <= 63.99875rem) {
  .reviews__slider {
    margin-block: 0 1.25rem;
  }
  .reviews__slider-item {
    max-width: 21.25rem;
  }
}
@media (width <= 47.99875rem) {
  .reviews__slider-item {
    max-width: unset;
  }
}
/*  ===================================  */
/*  ========END section reviews========  */
/*  ===================================  */
/* Styles for section our clients( slider with companies logos ) . source -- home page */
.our-clients {
  overflow-x: hidden;
}
.our-clients__slider {
  --clientsSlideWidth: 11.875rem;
  --clientsSlideHeight: 7.1875rem;
  min-height: calc(var(--clientsSlideHeight) + 0.125rem);
}
.our-clients__slide {
  width: var(--clientsSlideWidth);
  height: var(--clientsSlideHeight);
}
.our-clients__link {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  outline: var(--border-extra-light);
  background-color: var(--color-light);
  border-radius: var(--border-radius-small);
}
@media (any-hover: hover) {
  .our-clients__link:hover {
    filter: opacity(100);
  }
  .our-clients__link:hover .our-clients__image {
    filter: brightness(80%);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .our-clients__link:active {
    filter: opacity(100);
  }
  .our-clients__link:active .our-clients__image {
    filter: brightness(80%);
  }
}
.our-clients__link:active .our-clients__image {
  scale: 0.98;
}
.our-clients__image {
  transition-duration: var(--transition-duration);
  width: var(--clientsSlideWidth);
  height: var(--clientsSlideHeight);
  border-radius: inherit;
}

/*  ===================================  */
/*  =======END section our clients=====  */
/*  ===================================  */
/* Block-card for advantage slider.Part of Section advantages*/
.advantage-card {
  --advantageCardTitleTextColor: var(--color-gray-800);
  max-width: 18.5625rem;
  width: 100%;
  padding: 1.25rem;
  border: var(--border-light);
  border-radius: var(--border-radius-small);
}
.advantage-card__image {
  width: 3.75rem;
  height: 3.75rem;
  margin-bottom: 1.5rem;
}
.advantage-card__heading {
  margin-bottom: 0.625rem;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3;
  text-transform: uppercase;
  text-align: center;
  color: var(--advantageCardTitleTextColor);
}
.advantage-card__text {
  color: var(--text-color-dark-secondary);
  line-height: 1.4;
}

@media (width <= 47.99875rem) {
  .advantage-card__text {
    font-size: 0.9375rem;
  }
}
/* Section advantages.Slider. source --home-page*/
.advantages {
  --advantagesSlidesQuantity: 4;
  overflow-x: hidden;
}
.advantages__slider {
  margin-block: 0 clamp(1.25rem, 0.3779069767rem + 3.488372093vw, 3.125rem);
}
.advantages__slider-wrapper {
  display: grid;
  grid-template-rows: auto !important;
  grid-template-columns: repeat(var(--advantagesSlidesQuantity), 18.5625rem);
  column-gap: 1.5rem;
}
.advantages__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.25rem;
}
.advantages__button {
  font-size: 1rem;
  min-width: 11.875rem;
}

@media (width <= 63.99875rem) {
  .advantages__slider {
    margin-block: 0 1.25rem;
  }
  .advantages__buttons {
    column-gap: 1rem;
    justify-content: start;
  }
  .advantages__button {
    min-width: 8.75rem;
  }
}
/*  ===================================  */
/*  =======END section advantages======  */
/*  ===================================  */
/* Styles for section certificates ( slider with мasters' certificates ) . source -- home page */
.certificates {
  overflow-x: hidden;
}
.certificates__slider {
  --certificateSlideWidth: 7.375rem;
  --certificateSlideHeight: 10.125rem;
  --certificateSlideImageWidth: 7.1875rem;
  --certificateSlideImageHeight: var(--certificateSlideHeight);
  min-height: calc(var(--certificateSlideHeight) + 0.125rem);
}
.certificates__link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: var(--certificateSlideWidth);
  height: var(--certificateSlideHeight);
}
@media (any-hover: hover) {
  .certificates__link:hover {
    filter: opacity(100);
  }
  .certificates__link:hover .certificates__image {
    filter: brightness(80%);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .certificates__link:active {
    filter: opacity(100);
  }
  .certificates__link:active .certificates__image {
    filter: brightness(80%);
  }
}
.certificates__link:active .certificates__image {
  scale: 0.98;
}
.certificates__image {
  transition-duration: var(--transition-duration);
  width: var(--certificateSlideImageWidth);
  height: var(--certificateSlideHeight);
}

/*  ===================================  */
/*  =======END section certificates====  */
/*  ===================================  */
/* Section faq and faq-accordion. sourse -- home page */
.faq-accordion {
  --faqAccordionQuestionColor: var(--color-gray-850);
  --faqAccordionAnswerColor: var(--color-gray-750);
  --faqAccordionAnswerMaxHeight: 62.5rem;
}
.faq-accordion__element:not(:last-child) {
  margin-bottom: 2.5rem;
}
.faq-accordion__element-switcher {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.faq-accordion__element-switcher:checked + .faq-accordion__content .faq-accordion__question .faq-accordion__question-icon {
  rotate: 135deg;
}
.faq-accordion__element-switcher:checked + .faq-accordion__content .faq-accordion__answer {
  max-height: var(--faqAccordionAnswerMaxHeight);
  padding-top: 0;
}
.faq-accordion__question-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--faqAccordionQuestionColor);
  transition-duration: var(--transition-duration);
}
@media (any-hover: hover) {
  .faq-accordion__question-button:hover {
    filter: opacity(0.6);
  }
}
@media (any-hover: hover) and (any-hover: none) {
  .faq-accordion__question-button:active {
    filter: opacity(0.6);
  }
}
.faq-accordion__question-button:active {
  filter: opacity(0.4);
}
.faq-accordion__question-icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
  color: var(--color-blue-extra-dark);
  border: 0.125rem solid currentColor;
  border-radius: 50%;
  transition-duration: var(--transition-duration);
}
.faq-accordion__question-icon::before, .faq-accordion__question-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  content: "";
  height: 0.125rem;
  width: 0.5rem;
  background-color: currentColor;
  border-radius: 0.125rem;
}
.faq-accordion__question-icon::after {
  rotate: 90deg;
}
.faq-accordion__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1), padding var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-accordion__answer-text {
  color: var(--faqAccordionAnswerColor);
  font-size: 16px;
  line-height: 1.4;
  padding: 0.625rem 1.5rem 0 0;
}

/*  ===================================  */
/*  =========END section faq===========  */
/*  ===================================  */
/* Section appointment-choose */
.appointment-choose__wrapper {
  display: flex;
  align-items: center;
  background-color: var(--color-gray-800);
  width: 100%;
  min-height: 8.625rem;
  padding-block: 0.625rem;
  padding-inline: 10.4375rem;
  border-radius: var(--border-radius-small);
}
.appointment-choose__title {
  color: var(--text-color-light);
  font-size: clamp(1.25rem, 1.0174418605rem + 0.9302325581vw, 1.75rem);
  line-height: 1.35;
  margin-right: 4.375rem;
}
.appointment-choose__image {
  width: 5.375rem;
  height: 6.75rem;
}
.appointment-choose__image-wrapper {
  flex-shrink: 0;
  display: inline-flex;
  align-items: end;
  width: 5.375rem;
  height: 7.375rem;
  margin-right: 1.375rem;
}
.appointment-choose__buttons {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.appointment-choose__button {
  min-width: 8.75rem;
}

@media (width <= 100.06125rem) {
  .appointment-choose__wrapper {
    padding-inline: 1.25rem;
    justify-content: center;
    gap: 1.5rem;
  }
  .appointment-choose__image-wrapper {
    margin-right: 0;
  }
  .appointment-choose__title {
    margin-right: 0;
  }
}
@media (width <= 63.99875rem) {
  .appointment-choose__wrapper {
    padding-block: 1.875rem;
    flex-direction: column;
    max-width: 34.375rem;
    margin-inline: auto;
    gap: 2.125rem;
  }
  .appointment-choose__title {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
    max-width: 15.625rem;
    text-transform: uppercase;
  }
  .appointment-choose__image-wrapper {
    align-items: start;
  }
  .appointment-choose__buttons {
    max-width: 18.75rem;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.625rem;
  }
}
@media (width <= 35.93625rem) {
  .appointment-choose__wrapper {
    padding-inline: 1rem;
  }
  .appointment-choose__buttons {
    max-width: unset;
  }
}
/*  ===================================  */
/*  ======END appointment-choose=======  */
/*  ===================================  */
/* Navigation footer section. part of footer */
.footer-svc-links__heading {
  font-size: 1rem;
  line-height: 2.625rem;
  letter-spacing: var(--letter-spacing);
  font-weight: 600;
  text-align: center;
  color: var(--color-light);
  border-bottom: var(--border-light);
  width: 100%;
  margin-bottom: 2.25rem;
}
.footer-svc-links__nemu {
  font-weight: 600;
  font-size: 0.875rem;
}
.footer-svc-links__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(auto, 11.875rem));
  gap: 1.5rem;
}
.footer-svc-links__item:not(:last-child) {
  margin-bottom: 0.875rem;
}
.footer-svc-links__link {
  line-height: 1.44;
}

@media (width <= 81.31125rem) {
  .footer-svc-links__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.75rem 1.5rem;
  }
}
@media (width <= 30.06125rem) {
  .footer-svc-links__list {
    grid-template-columns: 1fr;
    gap: 0.875rem 1.5rem;
  }
}
/* Block footer . For all pages.*/
.footer {
  background-color: var(--color-gray-800);
  color: var(--color-white-opacity-35);
}
.footer__inner {
  padding-block: clamp(0.9375rem, 0.6468023256rem + 1.1627906977vw, 1.5625rem) clamp(1.375rem, 0.2122093023rem + 4.6511627907vw, 3.875rem);
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: repeat(2, auto);
  row-gap: clamp(1.9375rem, 1.414244186rem + 2.0930232558vw, 3.0625rem);
  column-gap: 4.625rem;
}
.footer__heading {
  max-width: 21.875rem;
  width: 100%;
}
.footer__heading-text {
  font-size: 0.8125rem;
  line-height: 1.4;
}
.footer__logo {
  width: 20.6875rem;
  height: 4.875rem;
  margin-bottom: 1rem;
  margin-left: -0.625rem;
}
.footer__buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 1.375rem;
  align-self: flex-end;
  max-width: 52rem;
}
.footer__qs-line {
  grid-area: qs;
  max-width: 25.25rem;
  width: 100%;
}
.footer__qs-line-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-block: clamp(0rem, -0.4941860465rem + 1.976744186vw, 1.0625rem);
  padding-inline: 2.5rem;
  border: var(--border-light);
  border-radius: var(--border-radius-small);
  color: var(--color-green-light);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: var(--letter-spacing);
  text-align: center;
  text-transform: uppercase;
}
.footer__qs-line-phone {
  white-space: nowrap;
}
.footer__qs-line-text {
  font-size: 0.9375rem;
  line-height: 1.3;
  max-width: 14.6875rem;
}
.footer__yandex-button {
  grid-area: yandex;
  justify-self: center;
  width: clamp(3.375rem, 2.851744186rem + 2.0930232558vw, 4.5rem);
  height: clamp(4.3125rem, 3.6438953488rem + 2.6744186047vw, 5.75rem);
  margin-top: -0.5625rem;
}
.footer__button {
  grid-area: button;
  font-size: 1rem;
}
.footer__svc-links {
  max-width: 52rem;
}
.footer__links {
  align-self: end;
  color: var(--color-light);
  font-size: 1rem;
  line-height: 1.25;
}
.footer__links-list {
  display: flex;
  flex-direction: column;
  gap: 1.9375rem 1.875rem;
  letter-spacing: var(--letter-spacing);
}
.footer ul {
  list-style: none;
  margin-block: 0;
  padding: 0;
}

@media (width <= 81.31125rem) {
  .footer__buttons {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: minmax(5.75rem, auto) auto;
    grid-template-areas: "yandex qs" "button button";
    row-gap: 2.25rem;
  }
  .footer__button {
    justify-self: center;
  }
  .footer__links {
    align-self: center;
  }
}
@media (width <= 63.99875rem) {
  .footer .container {
    --container-padding-x: 1.875rem;
  }
  .footer__inner {
    padding-block: 1.5625rem 3.9375rem;
    grid-template-areas: "heading buttons" "links-list links-list" "svc svc";
    column-gap: 2.125rem;
  }
  .footer__heading {
    grid-area: heading;
    justify-self: center;
    text-align: center;
    margin-left: -0.625rem;
  }
  .footer__heading-text {
    font-size: 0.75rem;
  }
  .footer__links {
    grid-area: links-list;
    margin-bottom: 1.375rem;
  }
  .footer__links-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.25rem 1.5rem;
  }
  .footer__svc-links {
    grid-area: svc;
    max-width: unset;
  }
  .footer__buttons {
    grid-area: buttons;
    margin-inline: auto;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    max-width: unset;
    width: 100%;
    grid-template-areas: "yandex button" ". qs";
    row-gap: 1rem;
  }
  .footer__button {
    align-self: start;
  }
  .footer__yandex-button {
    width: 3.375rem;
    height: 4.3125rem;
    align-self: start;
  }
}
@media (width <= 47.99875rem) {
  .footer .container {
    --container-padding-x: 1rem;
  }
  .footer__inner {
    padding-block: 0.6875rem 1.375rem;
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "buttons" "links-list" "svc";
    row-gap: 0;
  }
  .footer__heading {
    max-width: unset;
    width: 100%;
    margin-bottom: 1rem;
    margin-left: unset;
  }
  .footer__logo {
    margin-bottom: 1.125rem;
    margin-left: unset;
  }
  .footer__buttons {
    grid-template-rows: 1fr minmax(5.75rem, auto);
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "button button" "yandex qs";
    column-gap: 1.6875rem;
    row-gap: 2.3125rem;
    margin-bottom: 1.3125rem;
  }
  .footer__qs-line {
    min-width: 14.9375rem;
  }
  .footer__yandex-button {
    align-self: start;
    margin-top: 0.4375rem;
  }
  .footer__links {
    margin-bottom: 1.75rem;
  }
  .footer__links-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
  }
}
@media (width <= 30.06125rem) {
  .footer__yandex-button {
    margin-top: 0.4375rem;
  }
}
/*  ===================================  */
/*  =============END footer============  */
/*  ===================================  */

/*# sourceMappingURL=index.css.map */
